package com.mva.Vehicle_DAO;

import java.sql.Date;
import java.util.Calendar;
import java.util.GregorianCalendar;
import com.mva.common.Displayable;

/*******************************************************************************
 The <big><b>Expense</b></big> class implements the <b>Displayable</b> &
 <b>Cloneable</b> interfaces to create a <b>Expense</b> object

 @author z049984 - 1:33:38 PM - Aug 22, 2011

 @version 1.2  
 *******************************************************************************/
public class Vehicle implements Displayable, Cloneable
  {
   private int    Stck_No;
   private String VIN;
   private String Typ;
   private String Vndr;
   private String Mdl;
   private int    Yr;
   private String Clr;
   private String Desc;
   private String Stat;
   private Date   Dt_Buy;
   private double Amt_Buy;
   private int    Miles_Buy;
   private String User_Buy;
   private String Typ_Warr;
   private int    Miles_Warr;
   private String YN_Trade;
   private String Vndr_Trade;
   private String Mdl_Trade;
   private int    Yr_Trade;
   private Date   Dt_Sell;
   private double Amt_Sell;
   private int    Miles_Sell;
   private String User_Sell;
   
   /*******************************************************************************
	This constructor creates a new <b>Expense</b> object with default values
   *******************************************************************************/
   public Vehicle ()
	 {
      Date Dt_Dflt    = getDefaultDt();
	  this.Stck_No    = 0;
	  this.VIN        = " ";
	  this.Typ        = " ";
	  this.Vndr       = " ";
	  this.Mdl        = " ";
	  this.Yr         = 1999;
	  this.Clr        = " ";
	  this.Desc       = " ";
	  this.Stat       = " ";
	  this.Dt_Buy     = Dt_Dflt;
	  this.Amt_Buy    = 0.00;
	  this.Miles_Buy  = 0;
	  this.User_Buy   = " ";
	  this.Typ_Warr   = " ";
	  this.Miles_Warr = 0;
	  this.YN_Trade   = "N";
	  this.Vndr_Trade = " ";
	  this.Mdl_Trade  = " ";
	  this.Yr_Trade   = 1999;
	  this.Dt_Sell    = Dt_Dflt;
	  this.Amt_Sell   = 0.00;
	  this.Miles_Sell = 0;
	  this.User_Sell  = " ";
	 }

   /*******************************************************************************
	This constructor creates a new <b>Expense</b> object with attribute values as
	defined by the provided parameters
	@param Stck_No An <b><i>int</i></b> variable
	@param VIN A <b><i>String</i></b> variable
	@param Typ A <b><i>String</i></b> variable
	@param Vndr A <b><i>String</i></b> variable
	@param Mdl A <b><i>String</i></b> variable
	@param Yr An <b><i>int</i></b> variable
	@param Clr A <b><i>String</i></b> variable
	@param Desc A <b><i>String</i></b> variable
	@param Stat A <b><i>String</i></b> variable
	@param Dt_Buy A <b><i>Date</i></b> variable
	@param Amt_Buy A <b><i>double</i></b> variable
	@param Miles_Buy An <b><i>int</i></b> variable
	@param User_Buy A <b><i>String</i></b> variable
	@param Typ_Warr A <b><i>String</i></b> variable
	@param Miles_Warr An <b><i>int</i></b> variable
	@param YN_Trade A <b><i>String</i></b> variable
	@param Vndr_Trade A <b><i>String</i></b> variable
	@param Mdl_Trade A <b><i>String</i></b> variable
	@param Yr_Trade An <b><i>int</i></b> variable
	@param Dt_Sell A <b><i>Date</i></b> variable
	@param Amt_Sell A <b><i>double</i></b> variable
	@param Miles_Sell An <b><i>int</i></b> variable
	@param User_Sell A <b><i>String</i></b> variable
   *******************************************************************************/
   public Vehicle (int Stck_No, String VIN, String Typ, String Vndr, String Mdl, int Yr, String Clr, String Desc, String Stat,
		           Date Dt_Buy, double Amt_Buy, int Miles_Buy, String User_Buy,
		           String Typ_Warr, int Miles_Warr,
		           String YN_Trade, String Vndr_Trade, String Mdl_Trade, int Yr_Trade,
		           Date Dt_Sell, double Amt_Sell, int Miles_Sell, String User_Sell)
   {
	  this.Stck_No    = Stck_No;
	  this.VIN        = VIN;
	  this.Typ        = Typ;
	  this.Vndr       = Vndr;
	  this.Mdl        = Mdl;
	  this.Yr         = Yr;
	  this.Clr        = Clr;
	  this.Desc       = Desc;
	  this.Stat       = Stat;
	  this.Dt_Buy     = Dt_Buy;
	  this.Amt_Buy    = Amt_Buy;
	  this.Miles_Buy  = Miles_Buy;
	  this.User_Buy   = User_Buy;
	  this.Typ_Warr   = Typ_Warr;
	  this.Miles_Warr = Miles_Warr;
	  this.YN_Trade   = YN_Trade;
	  this.Vndr_Trade = Vndr_Trade;
	  this.Mdl_Trade  = Mdl_Trade;
	  this.Yr_Trade   = Yr_Trade;
	  this.Dt_Sell    = Dt_Sell;
	  this.Amt_Sell   = Amt_Sell;
	  this.Miles_Sell = Miles_Sell;
	  this.User_Sell  = User_Sell;
	 }

   /*******************************************************************************
	Clones a current <b>Expense</b> object to create a new one
	<br><br>
	@return Vehicle - A <b>Vehicle</b> object
	@throws CloneNotSupportedException 
   *******************************************************************************/
   public Object clone () throws CloneNotSupportedException
	 {
	  return super.clone();
	 }

   /*******************************************************************************
	Sets the <b><i>int</i></b> <b>stock number</b> attribute for the current
	<b>Vehicle</b> object
	<br><br>
	@param Stck_No An <b><i>int</i></b> variable
   *******************************************************************************/
   public void setStckNo (int Stck_No)
	 {
	  this.Stck_No = Stck_No;
	 }

   /*******************************************************************************
	Retrieves the <b><i>int</i></b> <b>stock number</b> attribute from the current
	<b>Vehicle</b> object
	<br><br>
	@return Stck_No - An <b><i>int</i></b> variable
   *******************************************************************************/
   public int getStckNo ()
	 {
	  return Stck_No;
	 }

   /*******************************************************************************
	Sets the <b><i>String</i></b> <b>vehicle identification number (VIN)</b>
	attribute for the current <b>Expense</b> object
	<br><br>
	The value must be uppercase, trimmed, & a properly-formatted VIN
	<br><br>
	@param VIN A <b><i>String</i></b> variable
   *******************************************************************************/
   public void setVIN (String VIN)
	 {
	  String tmpVIN = VIN.trim();
	         tmpVIN = tmpVIN.toUpperCase();
	  this.VIN      = tmpVIN;
	 }

   /*******************************************************************************
	Retrieves the <b><i>String</i></b> <b>vehicle identification number (VIN)</b>
	attribute from the current <b>Expense</b> object
	<br><br>
	@return VIN - A <b><i>String</i></b> variable
   *******************************************************************************/
   public String getVIN ()
	 {
	  return VIN;
	 }
   
   /*******************************************************************************
	Sets the <b><i>String</i></b> <b>vehicle type</b> attribute for the current
	<b>Vehicle</b> object
	<br><br>
	The value must be uppercase, trimmed, & left-justified
	<br><br>
	@param Typ A <b><i>String</i></b> variable
   *******************************************************************************/
   public void setTyp (String Typ)
     {
	  String tmpTyp = Typ.trim();
             tmpTyp = tmpTyp.toUpperCase();
	  this.Typ      = tmpTyp;
	 }

   /*******************************************************************************
 	Retrieves the <b><i>String</i></b> <b>vehicle type</b> attribute from the
 	current <b>Vehicle</b> object
	<br><br>
	@return Typ - A <b><i>String</i></b> variable
   *******************************************************************************/
   public String getTyp ()
	 {
	  return Typ;
	 }

   /*******************************************************************************
	Sets the <b><i>String</i></b> <b>vendor ID</b> attribute for the current
	<b>Vehicle</b> object
	<br><br>
	The value must be uppercase, trimmed, & left-justified
	<br><br>
	@param Vndr A <b><i>String</i></b> variable
   *******************************************************************************/
   public void setVndr (String Vndr)
	 {
	  String tmpVndr = Vndr.trim();
             tmpVndr = tmpVndr.toUpperCase();
	  this.Vndr      = tmpVndr;
	 }

   /*******************************************************************************
	Retrieves the <b><i>String</i></b> <b>vendor ID</b> attribute from the current
	<b>Vehicle</b> object
	<br><br>
	@return Vndr - A <b><i>String</i></b> variable
   *******************************************************************************/
   public String getVndr ()
	 {
	  return Vndr;
	 }
   
   /*******************************************************************************
	Sets the <b><i>String</i></b> <b>model name</b> attribute for the current
	<b>Vehicle</b> object
	<br><br>
	The value must be uppercase, trimmed, & left-justified
	<br><br>
	@param Mdl A <b><i>String</i></b> variable
   *******************************************************************************/
   public void setMdl (String Mdl)
	 {
	  String tmpMdl = Mdl.trim();
             tmpMdl = tmpMdl.toUpperCase();
	  this.Mdl      = tmpMdl;
	 }

   /*******************************************************************************
	Retrieves the <b><i>String</i></b> <b>model name</b> attribute from the current
	<b>Vehicle</b> object
	<br><br>
	@return Mdl - A <b><i>String</i></b> variable
   *******************************************************************************/
   public String getMdl ()
	 {
	  return Mdl;
	 }
   
   /*******************************************************************************
	Sets the <b><i>int</i></b> <b>model year</b> attribute for the current
	<b>Vehicle</b> object
	<br><br>
	@param Yr A <b><i>int</i></b> variable
   *******************************************************************************/
   public void setYr (int Yr)
	 {
	  this.Yr = Yr;
	 }

   /*******************************************************************************
	Retrieves the <b><i>int</i></b> <b>model year</b> attribute from the current
	<b>Vehicle</b> object
	<br><br>
	@return Yr - A <b><i>int</i></b> variable
   *******************************************************************************/
   public int getYr ()
	 {
	  return Yr;
	 }

   /*******************************************************************************
	Sets the <b><i>String</i></b> <b>color code</b> attribute for the current
	<b>Vehicle</b> object
	<br><br>
	The value must be uppercase, trimmed, & left-justified
	<br><br>
	@param Clr A <b><i>String</i></b> variable
   *******************************************************************************/
   public void setClr (String Clr)
	 {
	  String tmpClr = Clr.trim();
             tmpClr = tmpClr.toUpperCase();
	  this.Clr      = tmpClr;
	 }

   /*******************************************************************************
	Retrieves the <b><i>String</i></b> <b>color code</b> attribute from the current
	<b>Vehicle</b> object
	<br><br>
	@return Clr - A <b><i>String</i></b> variable
   *******************************************************************************/
   public String getClr ()
	 {
	  return Clr;
	 }
  
   /*******************************************************************************
	Sets the <b><i>String</i></b> <b>description</b> attribute for the current
	<b>Vehicle</b> object
	<br><br>
	The value must be trimmed & left-justified
	<br><br>
	@param Desc A <b><i>String</i></b> variable
   *******************************************************************************/
   public void setDesc (String Desc)
	 {
	  String tmpDesc = Desc.trim();
	  this.Desc      = tmpDesc;
	 }

   /*******************************************************************************
	Retrieves the <b><i>String</i></b> <b>description</b> attribute from the
	current <b>Vehicle</b> object
	<br><br>
	@return Desc - A <b><i>String</i></b> variable
   *******************************************************************************/
   public String getDesc ()
	 {
	  return Desc;
	 }
   
   /*******************************************************************************
	Sets the <b><i>String</i></b> <b>status</b> attribute for the current
	<b>Vehicle</b> object
	<br><br>
	The value must be trimmed, uppercase, & left-justified
	<br><br>
	@param Stat A <b><i>String</i></b> variable
   *******************************************************************************/
   public void setStat (String Stat)
	 {
	  String tmpStat = Stat.trim();
	         tmpStat = tmpStat.toUpperCase();
	  this.Stat      = tmpStat;
	 }

  /*******************************************************************************
	Retrieves the <b><i>String</i></b> <b>status</b> attribute from the
	current <b>Vehicle</b> object
	<br><br>
	@return Stat - A <b><i>String</i></b> variable
   *******************************************************************************/
   public String getStat ()
	 {
	  return Stat;
	 }
   
   /*******************************************************************************
	Sets the <b><i>Date</i></b> <b>purchase date</b> attribute for the current
	<b>Vehicle</b> object
	<br><br>
	@param Dt_Buy A <b><i>Date</i></b> variable
   *******************************************************************************/
   public void setDtBuy (Date Dt_Buy)
	 {
	  this.Dt_Buy = Dt_Buy;
	 }

   /*******************************************************************************
	Retrieves the <b><i>Date</i></b> <b>purchase date</b> attribute from the
	current <b>Vehicle</b> object
	<br><br>
	@return Dt_Buy - A <b><i>Date</i></b> variable
   *******************************************************************************/
   public Date getDtBuy ()
	 {
	  return Dt_Buy;
	 }
   
   /*******************************************************************************
	Sets the <b><i>double</i></b> <b>purchase price</b> attribute for the current
	<b>Vehicle</b> object
	<br><br>
	@param Amt_Buy A <b><i>double</i></b> variable
   *******************************************************************************/
   public void setAmtBuy (double Amt_Buy)
	 {
	  this.Amt_Buy = Amt_Buy;
	 }

   /*******************************************************************************
	Retrieves the <b><i>double</i></b> <b>purchase price</b> attribute from the
	current <b>Vehicle</b> object
	<br><br>
	@return Amt_Buy - A <b><i>double</i></b> variable
   *******************************************************************************/
   public double getAmtBuy ()
	 {
	  return Amt_Buy;
	 }
   
   /*******************************************************************************
	Sets the <b><i>int</i></b> <b>purchase miles</b> attribute for the current
	<b>Vehicle</b> object
	<br><br>
	@param Miles_Buy An <b><i>int</i></b> variable
   *******************************************************************************/
   public void setMilesBuy (int Miles_Buy)
	 {
	  this.Miles_Buy = Miles_Buy;
	 }

   /*******************************************************************************
	Retrieves the <b><i>int</i></b> <b>purchase miles</b> attribute from the
	current <b>Vehicle</b> object
	<br><br>
	@return Miles_Buy - An <b><i>int</i></b> variable
   *******************************************************************************/
   public int getMilesBuy ()
	 {
	  return Miles_Buy;
	 }

   /*******************************************************************************
	Sets the <b><i>String</i></b> <b>purchasing user</b> attribute for the current
	<b>Vehicle</b> object
	<br><br>
	The value must be trimmed, uppercase, & left-justified
	<br><br>
	@param User_Buy A <b><i>String</i></b> variable
   *******************************************************************************/
   public void setUserBuy (String User_Buy)
	 {
	  String tmpUsr = User_Buy.trim();
	         tmpUsr = tmpUsr.toUpperCase();
	  this.User_Buy = tmpUsr;
	 }

   /*******************************************************************************
	Retrieves the <b><i>String</i></b> <b>purchasing user</b> attribute from the
	current <b>Vehicle</b> object
	<br><br>
	@return User_Buy - A <b><i>String</i></b> variable
   *******************************************************************************/
   public String getUserBuy ()
	 {
	  return User_Buy;
	 }

   /*******************************************************************************
	Sets the <b><i>String</i></b> <b>warranty type</b> attribute for the current
	<b>Vehicle</b> object
	<br><br>
	The value must be trimmed, uppercase, & left-justified
	<br><br>
	@param Typ_Warr A <b><i>String</i></b> variable
   *******************************************************************************/
   public void setTypWarr (String Typ_Warr)
	 {
	  String tmpTyp = Typ_Warr.trim();
	         tmpTyp = tmpTyp.toUpperCase();
	  this.Typ_Warr = tmpTyp;
	 }

   /*******************************************************************************
	Retrieves the <b><i>String</i></b> <b>warranty type</b> attribute from the
	current <b>Vehicle</b> object
	<br><br>
	@return Typ_Warr - A <b><i>String</i></b> variable
   *******************************************************************************/
   public String getTypWarr ()
	 {
	  return Typ_Warr;
	 }
   
   /*******************************************************************************
	Sets the <b><i>int</i></b> <b>warranty miles</b> attribute for the current
	<b>Vehicle</b> object
	<br><br>
	@param Miles_Warr An <b><i>int</i></b> variable
   *******************************************************************************/
   public void setMilesWarr (int Miles_Warr)
	 {
	  this.Miles_Warr = Miles_Warr;
	 }

   /*******************************************************************************
	Retrieves the <b><i>int</i></b> <b>warranty miles</b> attribute from the
	current <b>Vehicle</b> object
	<br><br>
	@return Miles_Warr - An <b><i>int</i></b> variable
   *******************************************************************************/
   public int getMilesWarr ()
	 {
	  return Miles_Warr;
	 }
   
   /*******************************************************************************
	Sets the <b><i>String</i></b> <b>trade-in Y/N</b> attribute for the current
	<b>Vehicle</b> object
	<br><br>
	@param YN_Trade A <b><i>String</i></b> variable
   *******************************************************************************/
   public void setYNTrade (String YN_Trade)
	 {
	  this.YN_Trade = YN_Trade;
	 }

   /*******************************************************************************
	Retrieves the <b><i>String</i></b> <b>trade-in Y/N</b> attribute from the
	current <b>Vehicle</b> object
	<br><br>
	@return YN_Trade - A <b><i>String</i></b> variable
   *******************************************************************************/
   public String getYNTrade ()
	 {
	  return YN_Trade;
	 }

   /*******************************************************************************
	Sets the <b><i>String</i></b> <b>trade-in vendor ID</b> attribute for the
	current <b>Vehicle</b> object
	<br><br>
	The value must be uppercase, trimmed, & left-justified
	<br><br>
	@param Vndr_Trade A <b><i>String</i></b> variable
   *******************************************************************************/
   public void setVndrTrade (String Vndr_Trade)
	 {
	  String tmpVndr  = Vndr_Trade.trim();
             tmpVndr  = tmpVndr.toUpperCase();
	  this.Vndr_Trade = tmpVndr;
	 }

   /*******************************************************************************
	Retrieves the <b><i>String</i></b> <b>trade-in vendor ID</b> attribute from the
	current <b>Vehicle</b> object
	<br><br>
	@return Vndr_Trade - A <b><i>String</i></b> variable
   *******************************************************************************/
   public String getVndrTrade ()
	 {
	  return Vndr_Trade;
	 }
   
   /*******************************************************************************
	Sets the <b><i>String</i></b> <b>trade-in model name</b> attribute for the
	current <b>Vehicle</b> object
	<br><br>
	The value must be uppercase, trimmed, & left-justified
	<br><br>
	@param Mdl_Trade A <b><i>String</i></b> variable
   *******************************************************************************/
   public void setMdlTrade (String Mdl_Trade)
	 {
	  String tmpMdl  = Mdl_Trade.trim();
             tmpMdl  = tmpMdl.toUpperCase();
	  this.Mdl_Trade = tmpMdl;
	 }

   /*******************************************************************************
	Retrieves the <b><i>String</i></b> <b>trade-in model name</b> attribute from
	the current <b>Vehicle</b> object
	<br><br>
	@return Mdl_Trade - A <b><i>String</i></b> variable
   *******************************************************************************/
   public String getMdlTrade ()
	 {
	  return Mdl_Trade;
	 }
   
   /*******************************************************************************
	Sets the <b><i>int</i></b> <b>trade-in model year</b> attribute for the current
	<b>Vehicle</b> object
	<br><br>
	@param Yr_Trade A <b><i>int</i></b> variable
   *******************************************************************************/
   public void setYrTrade (int Yr_Trade)
	 {
	  this.Yr_Trade = Yr_Trade;
	 }

   /*******************************************************************************
	Retrieves the <b><i>int</i></b> <b>trade-in model year</b> attribute from the
	current <b>Vehicle</b> object
	<br><br>
	@return Yr_Trade - A <b><i>int</i></b> variable
   *******************************************************************************/
   public int getYrTrade ()
	 {
	  return Yr_Trade;
	 }
   
   /*******************************************************************************
	Sets the <b><i>Date</i></b> <b>sales date</b> attribute for the current
	<b>Vehicle</b> object
	<br><br>
	@param Dt_Sell A <b><i>Date</i></b> variable
   *******************************************************************************/
   public void setDtSell (Date Dt_Sell)
	 {
	  this.Dt_Sell = Dt_Sell;
	 }

   /*******************************************************************************
	Retrieves the <b><i>Date</i></b> <b>sales date</b> attribute from the
	current <b>Vehicle</b> object
	<br><br>
	@return Dt_Sell - A <b><i>Date</i></b> variable
   *******************************************************************************/
   public Date getDtSell ()
	 {
	  return Dt_Sell;
	 }
  
   /*******************************************************************************
	Sets the <b><i>double</i></b> <b>sales price</b> attribute for the current
	<b>Vehicle</b> object
	<br><br>
	@param Amt_Sell A <b><i>double</i></b> variable
   *******************************************************************************/
   public void setAmtSell (double Amt_Sell)
	 {
	  this.Amt_Sell = Amt_Sell;
	 }

   /*******************************************************************************
	Retrieves the <b><i>double</i></b> <b>sales price</b> attribute from the
	current <b>Vehicle</b> object
	<br><br>
	@return Amt_Sell - A <b><i>double</i></b> variable
   *******************************************************************************/
   public double getAmtSell ()
	 {
	  return Amt_Sell;
	 }
   
   /*******************************************************************************
	Sets the <b><i>int</i></b> <b>selling miles</b> attribute for the current
	<b>Vehicle</b> object
	<br><br>
	@param Miles_Sell An <b><i>int</i></b> variable
   *******************************************************************************/
   public void setMilesSell (int Miles_Sell)
	 {
	  this.Miles_Sell = Miles_Sell;
	 }

   /*******************************************************************************
	Retrieves the <b><i>int</i></b> <b>selling miles</b> attribute from the
	current <b>Vehicle</b> object
	<br><br>
	@return Miles_Sell - An <b><i>int</i></b> variable
   *******************************************************************************/
   public int getMilesSell ()
	 {
	  return Miles_Sell;
	 }
   
   /*******************************************************************************
	Sets the <b><i>String</i></b> <b>selling user</b> attribute for the current
	<b>Vehicle</b> object
	<br><br>
	The value must be trimmed, uppercase, & left-justified
	<br><br>
	@param User_Sell A <b><i>String</i></b> variable
   *******************************************************************************/
   public void setUserSell (String User_Sell)
	 {
	  String tmpUsr  = User_Sell.trim();
	         tmpUsr  = tmpUsr.toUpperCase();
	  this.User_Sell = tmpUsr;
	 }

   /*******************************************************************************
	Retrieves the <b><i>String</i></b> <b>selling user</b> attribute from the
	current <b>Vehicle</b> object
	<br><br>
	@return User_Sell - A <b><i>String</i></b> variable
   *******************************************************************************/
   public String getUserSell ()
	 {
	  return User_Sell;
	 }
   
   /*******************************************************************************
	Determines whether or not all of the attribute values of one <b>Vehicle</b>
	object are equal to all of the attribute values of a second <b>Vehicle</b>
	object
	<br><br>
	@param object A	<b>Vehicle</b> object
	@return true/false - A <b><i>boolean</i></b> variable
   *******************************************************************************/
   public boolean equals (Object object)
     {
      if (object instanceof Vehicle)
        {
         Vehicle v2 = (Vehicle) object;
         if (Stck_No == v2.getStckNo()             &&
             VIN.equals(v2.getVIN())               &&
             Typ.equals(v2.getTyp())               &&
             Vndr.equals(v2.getVndr())             &&
             Mdl.equals(v2.getMdl())               &&
             Yr == v2.getYr()                      &&
             Clr.equals(v2.getClr())               &&
             Desc.equals(v2.getDesc())             &&
             Dt_Buy.equals(v2.getDtBuy())          &&
             Amt_Buy == v2.getAmtBuy()             &&
             Miles_Buy == v2.getMilesBuy()         &&
             User_Buy.equals(v2.getUserBuy())      &&
             Typ_Warr.equals(v2.getTypWarr())      &&
             Miles_Warr == v2.getMilesWarr()       &&
             YN_Trade.equals(v2.getYNTrade())      &&
             Vndr_Trade.equals(v2.getVndrTrade())  &&
             Mdl_Trade.equals(v2.getMdlTrade())    &&
             Yr_Trade == v2.getYrTrade()           &&
             Dt_Sell.equals(v2.getDtSell())        &&
             Amt_Sell == v2.getAmtSell()           &&
             Miles_Sell == v2.getMilesSell()       &&
             User_Sell.equals(v2.getUserSell())   )
         return true;
        }
      return false;
     }

   /*******************************************************************************
	Retrieves a formatted list of the attribute values of the current
	<b>Vehicle</b> object
	<br><br>
	@return string - A <b><i>String</i></b> variable
   *******************************************************************************/
   public String toString ()
	 {
	  return "Stock number   : " + this.Stck_No    + "\n" +
		     "VIN            : " + this.VIN        + "\n" +
	         "Vehicle type   : " + this.Typ        + "\n" +
		     "Vendor         : " + this.Vndr       + "\n" +
		     "Model name     : " + this.Mdl        + "\n" +
	         "Model year     : " + this.Yr         + "\n" +
		     "Color          : " + this.Clr        + "\n" +
		     "Description    : " + this.Desc       + "\n" +
		     "Status         : " + this.Stat       + "\n" +
		     "Date purchased : " + this.Dt_Buy     + "\n" +
		     "Purchase price : " + this.Amt_Buy    + "\n" +
		     "Purchase miles : " + this.Miles_Buy  + "\n" +
		     "Purchased by   : " + this.User_Buy   + "\n" +
		     "Warranty type  : " + this.Typ_Warr   + "\n" +
		     "Warranty miles : " + this.Miles_Warr + "\n" +
		     "Trade-in (Y/N) : " + this.YN_Trade   + "\n" +
		     "Trade-in vendor: " + this.Vndr_Trade + "\n" +
		     "Trade-in model : " + this.Mdl_Trade  + "\n" +
	         "Trade-in year  : " + this.Yr_Trade   + "\n" +
		     "Date sold      : " + this.Dt_Sell    + "\n" +
		     "Sales price    : " + this.Amt_Sell   + "\n" +
		     "Sales miles    : " + this.Miles_Sell + "\n" +
		     "Sold by        : " + this.User_Sell  + "\n";
	 }
   
   /*******************************************************************************
	Retrieves a formatted displayable list of the attribute values of the current
	<b>Vehicle</b> object
	<br><br>
	@return string - A <b><i>String</i></b> variable
   *******************************************************************************/
   public String getDisplayText()
    {
	  return toString();
    }
   
   /*******************************************************************************
	Determines default date
	<br><br>
	@return Date - A <b><i>Date</i></b> variable
   *******************************************************************************/
   public Date getDefaultDt()
     {
      GregorianCalendar dflt = new GregorianCalendar();
      dflt.set(Calendar.YEAR,         1999);
      dflt.set(Calendar.MONTH,        Calendar.JANUARY);
      dflt.set(Calendar.DAY_OF_MONTH, 01);
      dflt.set(Calendar.HOUR_OF_DAY,  0);
      dflt.set(Calendar.MINUTE,       0);
      dflt.set(Calendar.SECOND,       0);
      Date dt = (Date) dflt.getTime();
	  return dt;
     }
  }